/****************************************
 * Copyright (c) 2015 NiuWa.
 * All rights reserved.
 * Created on 2015年4月28日
 * 
 * Contributors:
 * 	   Percy.Lo - initial implementation
 ****************************************/
package com.niuwa.p2p.utils;

import com.niuwa.p2p.exception.StaleObjectStateException;


/**
 * @title Exception相关操作类
 *
 * @author Percy.Lo
 * @version 1.0
 * @created 2015年4月28日
 */
public class ExceptionUtils {
	
	/**
	 * 在异常堆栈中查找StaleObjectStateException
	 * @param e
	 * @return true-是StaleObjectStateException导致的异常，false-不是；
	 */
	public static boolean isStale(Throwable e){
		boolean isStale=false;
		Throwable throwable=e;
		while(throwable!=null){
			if(throwable instanceof StaleObjectStateException){
				isStale=true;
				break;
			}
			throwable=throwable.getCause();
		}
		return isStale;
	}
}
